#ifndef PLATEAU_H
#define PLATEAU_H

#include <QtCore/QMetaType>
#include <QtCore/QVector>

class Case;

class Plateau {
public:
	Plateau();
	Plateau(const Plateau& pSource);

	virtual ~Plateau();

	Plateau& operator=(const Plateau& pSource);
	bool operator==(const Plateau& pAutre) const;
	bool operator!=(const Plateau& pAutre) const;

	bool termine() const;

	int simulerCoup(int pPos, Plateau& pEtatFinal) const;

	int jouerCoup(int pPos);

	QVector<Case*>	m_cases;
};

Q_DECLARE_METATYPE(Plateau)

#endif // PLATEAU_H
